Rules-based generation of transmissions to connect members of an organization

ABSTRACT

One or more embodiments describe techniques for proactively connecting members of an organization together based on detected interest in a particular topic. The system analyzes a profile of a member to detect a particular topic associated with the member, and based on evaluating a set of interactions that another member of the organization had regarding the particular topic, generates an overall connection score for rating a connection between the second member and the particular topic. Responsive to determining that the overall connection score meets a threshold value, the system transmits a communication to generate a connection between the two members, and any other members whose overall connection scores meet the threshold value, for initiating collaboration on the particular topic amongst the various connected members.

TECHNICAL FIELD

The present disclosure relates to rules-based generation oftransmissions to connect members of an organization.

BACKGROUND

An organization may include many hundreds or thousands of members, witheach member assigned different tasks or functions within theorganization. It is difficult to track and analyze what topics eachmember of the organization is currently assigned, working on,knowledgeable about, or otherwise interested in. Moreover, each memberof the organization may have different skill sets that are applicable todifferent topics. However, any individual member may not be aware ofother members in the organization with whom there are shared interestsand/or skills.

The approaches described in this section are approaches that could bepursued, but not necessarily approaches that have been previouslyconceived or pursued. Therefore, unless otherwise indicated, it shouldnot be assumed that any of the approaches described in this sectionqualify as prior art merely by virtue of their inclusion in thissection.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments are illustrated by way of example and not by way oflimitation in the figures of the accompanying drawings. It should benoted that references to “an” or “one” embodiment in this disclosure arenot necessarily to the same embodiment, and they mean at least one. Inthe drawings:

FIG. 1 illustrates a system for proposing connections between members ofan organization using a machine learning (ML) model, in accordance withone or more embodiments;

FIG. 2A illustrates an example method for training a ML model toidentify interactions between members of an organization, in accordancewith one or more embodiments;

FIG. 2B illustrates an example method for training a ML model todetermine weights to assign connection factors, in accordance with oneor more embodiments;

FIG. 3 illustrates an example method for proposing connections betweenmembers of an organization using a ML model, in accordance with one ormore embodiments;

FIGS. 4A-4B are example tables showing correlations between members andtopics, in accordance with one or more embodiments;

FIGS. 5A-5C are example tables showing connection factor weights forexample connection factors; and

FIG. 6 shows a block diagram of an example computing system that mayimplement the features and processes of FIGS. 1-5C.

Reference symbols in the various drawings that have the same numberindicate like elements.

DETAILED DESCRIPTION

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding. One or more embodiments may be practiced without thesespecific details. Features described in one embodiment may be combinedwith features described in a different embodiment. In some examples,well-known structures and devices are described with reference to ablock diagram form in order to avoid unnecessarily obscuring the presentinvention.

Details of particular embodiments are provided with respect to thevarious drawings and the descriptions below. Other enhancements,features, details, and/or advantages of the particular embodiments maybe ascertainable by those of skill in the art upon reading the presentdescriptions and viewing the drawings.

Also, the particular embodiments described herein may be implemented inany computing system environment known in the art, which may include oneor more processors and a computer-readable medium configured to storelogic, the logic being implemented with and/or executable by the one ormore processors to cause the one or more processors to performoperations specified by the logic.

The descriptions presented herein relay sufficient information to enablea person having ordinary skill in the art to make and use the presentinvention and are provided in the context and requirements of particularembodiments of the present invention.

It is also noted that various modifications to the disclosed embodimentswill be readily apparent to a person having ordinary skill in the artand the general principles defined herein may be applied to otherembodiments and applications without departing from the spirit and scopeof the present invention. Thus, the present invention is not intended tobe limited to the embodiments shown and described herein, but is to beaccorded the widest scope consistent with the principles and featuresdisclosed herein.

Also, unless otherwise specifically defined herein, all terms are to begiven their broadest possible interpretation including meanings impliedfrom the specification as well as meanings understood by a person havingordinary skill in the art and/or as defined in dictionaries, treatises,etc.

Moreover, the term “about” when used herein to modify a value indicatesa range that includes the value and less and greater than the valuewithin a reasonable range. In the absence of any other indication, thisreasonable range is plus and minus 10% of the value. For example, “about10 milliseconds” indicates 10 ms±1 ms, such that the range includes allvalues in a range including 9 ms up to and including 11 ms. In addition,the term “comprise” indicates an inclusive list of those elementsspecifically described without exclusion of any other elements. Forexample, “a list comprises red and green” indicates that the listincludes, but is not limited to, red and green. Therefore, the list mayalso include other colors not specifically described.

-   -   1. General Overview    -   2. System Diagram    -   3. Training ML Models        -   3.1 ML Model for Identifying Interactions        -   3.2 ML Model for Determining Weights    -   4. Proposing Connections Between Members of an Organization    -   5. Example Embodiments        -   5.1 Tables Showing Members Correlated with Topics        -   5.2 Tables Showing Example Connection Factor Weights    -   6. Computer Networks and Cloud Networks    -   7. Hardware Overview

8. Miscellaneous; Extensions

1. General Overview

One or more embodiments apply a set of rules to generate transmissionsthat connect members of an organization. As an example, the system maygenerate an introduction email to introduce (a) a member that has beendetermined to be an expert on a particular topic based on the member'sconnection with the topic to (b) a member who started on a new projectcorresponding to the topic.

Initially, the system trains a machine-learning model to recognize amember interactions with a topic based on a set of historical datatagged with interactions. The historical data may include, for example,emails, calendar events, project descriptions, white papers, resumes,search history and conference descriptions with attendees. Aninteraction tag identify the member and specify the member's interactiontype such as working on projects, publishing papers, discussing thetopic over email, researching the topic, attending training, and givingtrainings. Once trained, the machine-learning model can identifymembers' interactions by continuously or periodically monitoringdocuments/activity records corresponding to the members of anorganization.

One or more embodiments apply a set of rules to a member's interactionsto determine whether the member meets a threshold level of connectionwith a particular topic. If the member meets the threshold level ofconnection with the particular topic, the system generates atransmission that connects the member with other member(s) that either(a) also meet the threshold level of connection with the particulartopic or (b) are otherwise associated with the topic.

In an example, a rule may determine whether certain interactionsregarding a topic should be considered and disregarding interactionswhich do not satisfy the rule (e.g., emails about a flying car areconsidered, social media posts about the flying car are not), anotherrule may determine a weight to apply to each interaction (e.g., 1.0 foran authored paper about flying cars, 0.1 for attending a virtual meetingwith hundreds or thousands of other participants about flying cars), andanother rule may determine an overall connection score between themember and the topic (e.g., a high score for a member who has manyinteractions regarding the flying car and is assigned to the flying carproject, a lower score for a member who has few interactions about theflying car and is not assigned to work on the flying car project), etc.

Determining a threshold level of connection between a member and a topicmay include computing a connection score based on a member'sinteractions with the topic. The system applies weights to differenttypes of interactions to compute the connection score. A machinelearning model may compute/adjust the weights for different types ofinteractions using a feedback loop. Specifically, the system obtainsfeedback on members determined to be connected to a topic. The feedbackmay indicate whether the members, classified by the system as meetingthe threshold level of connection to a topic, were found toknowledgeable, helpful, or otherwise useful to other members on mattersrelated to the topic. The machine-learning model identifies acorrelation between interaction type and positive feedback tocompute/adjust the weights assigned to interaction types for computationof the connection score. A weight assigned to a member's interaction,such as giving a presentation on a topic, may be increased if memberswith that interaction generally receive positive feedback.

One or more embodiments described in this Specification and/or recitedin the claims may not be included in this General Overview section.

2. System Diagram

FIG. 1 illustrates a system 100 for intelligently proposing connectionsbetween members of an organization using a ML model, in accordance withone or more embodiments. As illustrated in FIG. 1 , system 100 includesa ML engine 102 and a data repository 134.

ML engine 102 is configured to analyze data 124 and propose connections132 between members 118 of an organization based on observedinteractions 126 between various members 118 in the organization.

The organization may be a business, corporation, association,educational institution, governmental agency, a collection of people, orany portion thereof. For example, the organization may be a group ofteachers who work at a particular school or within a particulardistrict. In another example, the organization may be a collection ofresearch scientists who belong to the same professional society. In moreexamples, the organization may be a private company with less than 50employees, a publicly-traded company having over 50,000 employees, amedium-sized company, or some other type and size of company,corporation, business, or partnership. Any particular collection ofpeople may be grouped together for purposes of belonging to anorganization, in the context of the embodiments described herein.

Machine learning includes various techniques in the field of artificialintelligence that deal with computer-implemented, user-independentprocesses for solving problems that have variable inputs.

In some embodiments, ML engine 102 trains one or more ML models 104 toperform one or more operations. Training a ML model 104 involves usingtraining data to generate a function that, given one or more inputs tothe ML model 104, computes a corresponding output. The output maycorrespond to a prediction based on prior machine learning. In anembodiment, the output includes a label, classification, and/orcategorization assigned to the provided input(s). The ML model 104corresponds to a learned model for performing the desired operation(s)(e.g., labeling, classifying, and/or categorizing inputs). For example,the ML model 104 may be used in determining a likelihood of interactionsof a member of an organization indicating a connection to a particulartopic.

In an embodiment, ML engine 102 may use supervised learning,semi-supervised learning, unsupervised learning, reinforcement learning,and/or another training method or combination thereof. In supervisedlearning, labeled training data includes input/output pairs in whicheach input is labeled with a desired output (e.g., a label,classification, and/or categorization), also referred to as asupervisory signal. In semi-supervised learning, some inputs areassociated with supervisory signals and other inputs are not associatedwith supervisory signals. In unsupervised learning, the training datadoes not include supervisory signals. Reinforcement learning uses afeedback system in which the ML engine 102 receives positive and/ornegative reinforcement in the process of attempting to solve aparticular problem (e.g., to optimize performance in a particularscenario, according to one or more predefined performance criteria). Inan embodiment, ML engine 102 initially uses supervised learning to trainthe ML model 104 and then uses unsupervised learning to update the MLmodel 104 on an ongoing basis.

In an embodiment, ML engine 102 may use many different techniques tolabel, classify, and/or categorize inputs. ML engine 102 may transforminputs into feature vectors that describe one or more properties(“features”) of the inputs. ML engine 102 may label, classify, and/orcategorize the inputs based on the feature vectors. Alternatively oradditionally, ML engine 102 may use clustering (also referred to ascluster analysis) to identify commonalities in the inputs. ML engine 102may group (i.e., cluster) the inputs based on those commonalities. MLengine 102 may use hierarchical clustering, k-means clustering, and/oranother clustering method or combination thereof. In an embodiment, MLengine 102 includes an artificial neural network. An artificial neuralnetwork includes multiple nodes (also referred to as artificial neurons)and edges between nodes. Edges may be associated with correspondingweights that represent the strengths of connections between nodes, whichthe ML engine 102 adjusts as machine learning proceeds. Alternatively oradditionally, ML engine 102 may include a support vector machine. Asupport vector machine represents inputs as vectors. ML engine 102 maylabel, classify, and/or categorizes inputs based on the vectors.Alternatively or additionally, ML engine 102 may use a naïve Bayesclassifier to label, classify, and/or categorize inputs.

Alternatively or additionally, given a particular input, ML engine 102may apply a decision tree to predict an output for the given input.Alternatively or additionally, the ML engine 102 may apply fuzzy logicin situations where labeling, classifying, and/or categorizing an inputamong a fixed set of mutually exclusive options is impossible orimpractical. The aforementioned ML model 104 and techniques arediscussed for exemplary purposes only and should not be construed aslimiting one or more embodiments.

In an embodiment, as the ML engine 102 applies different inputs to a MLmodel 104, the corresponding outputs are not always accurate. As anexample, ML engine 102 may use supervised learning to train the ML model104. After training the ML model 104, if a subsequent input is identicalto an input that was included in labeled training data 120 and theoutput is identical to the supervisory signal in the training data 120,then output is certain to be accurate. If an input is different frominputs that were included in labeled training data, then the ML engine102 may generate a corresponding output that is inaccurate or ofuncertain accuracy. In addition to producing a particular output for agiven input, ML engine 102 may be configured to produce an indicatorrepresenting a confidence (or lack thereof) in the accuracy of theoutput. A confidence indicator may include a numeric score, a Booleanvalue, and/or any other kind of indicator that corresponds to aconfidence (or lack thereof) in the accuracy of the output.

ML engine 102 is trained with labeled training data 120, as described inmore detail with respect to FIGS. 2A-2B. Referring again to FIG. 1 , MLengine 102 generates the ML model 104 based on analyzing the trainingdata 120. In one or more embodiments, ML engine 102, or some othercomponent of system 100, applies ML model 104 to analyze observed data124 to generate scores and propose connections between members of theorganization, as described in more detail with respect to FIG. 3 .

Referring again to FIG. 1 , training data 120 may include differenttypes or categories of interactions 122. Example interactions 122include meetings held virtually or in person by a member, messages sentand/or received by a member, events attended virtually or in person by amember, etc. Information may be provided in training data 120 (e.g.,labeling) about each type or category of interactions that are possiblefor exchanging information at the organization to allow ML engine 102 tolearn about these specific interactions 122 to be able to identify datafrom these various interactions 126 in observed data 124 aftergenerating the ML model 104.

In one or more approaches, training data 120 may include topics 116 thatare relevant, important, and/or provided by the organization formonitoring. Topics 116 included in training data 120 may describedifferent ways of treating specific topics, such as topics to be trackedor monitored, topics to disregard (not track), topics that trigger analert or message, special topics for which additional information shouldbe obtained, etc. Information may be provided in training data 120 abouteach topic relevant to the organization to allow ML engine 102 to learnabout these specific topics to be able to identify these topics frominteractions 126 in observed data 124 after generating the ML model 104.

Training data 120 may include members 118 of the organization, such asspecific persons at the organization for which interactions are mostrelevant for specific topics, and/or a type, role, or category ofpersons at the organization. Example roles at the organization includeCEO, president, board member, accountant, group leader, teacher, experton a particular topic, unrelated position-holder, regular member, etc.An unrelated position-holder is a general category for individuals atthe organization for which interactions are deemed less important thaninteractions for a regular member of the organization. An expert is acategory specific to each topic 116 for individuals at the organizationfor which interactions are deemed more important for the specific topicthan interactions for a regular member of the organization. Informationmay be provided in training data 120 about each type, role, or categoryof persons at the organization to allow ML engine 102 to learn aboutthese specific types, roles, or categories to be able to identify thetype of member and/or which specific member is involved in interactions126 in observed data 124 after generating the ML model 104.

Based on the training data 120, ML engine 102 generates the ML model104, which is configured to provide suggested connections 132 betweenmembers 118 of the organization based on observed interactions 126. Toprovide these suggested connections 132, ML model 104 is configured togenerate certain scores upon analyzing observed data 124. ML model 104is configured to calculate connections cores 108, connection factorweights 110, overall connection scores 112, and outcome scores 114, asdescribed in more detail with respect to FIG. 4 .

Referring again to FIG. 1 , ML engine 102 is configured to apply MLmodel 104 to analyze a profile 128 corresponding to a member of theorganization. The profile 128 may include details and information aboutthe member. Some example information includes, but is not limited to:name, address, contact details (e.g., phone number, email address,social media identifiers or accounts, etc.), organizational role (e.g.,position, title, or category within the leadership structure of theorganization, etc.), a length of time in each position held at theorganization, project/task(s) information (e.g., past project/taskassignments, current project/task assignments, success/failure ofcompleting past projects/tasks, etc.), accolades, awards,recommendations from other members or people outside of theorganization, demerits from supervisors or other members, skills, andinclusion in topic-specific committees or groups.

Profiles 128 may be automatically generated by a computing device, inone approach, with automatic and/or manual updates being applied aftergeneration. In an alternate approach, profiles 128 may be manuallyentered by an administrator for use in identifying and describingmembers of the organization.

ML engine 102 may analyze the profile 128 of the member to determinebackground information for the member and which communication channels(telephone, email, social media, direct messaging, etc.) should bemonitored to capture interactions of the member. Based on observinginteractions 126 and details of the profile 128, one or more particulartopics 116, relevant to the organization, may be detected for thismember. Past and/or current projects/tasks may influence which topicsthe member may be involved with, along with analysis of the variousinteractions 126 that the member has within and outside of theorganization, in some instances (depending on security and privacysettings for ML engine 102).

ML engine 102 may calculate connection scores 108 based on a set ofconnection factors 106. The connection factors 106 may include anyparameter, aspect, or characteristic that indicates a connection betweena member of the organization and a particular topic. In one embodiment,connection factors 106 and/or connection scores 108 may be stored to adata repository 134 for continued use in connection score 108calculations and/or analysis by ML model 104 of another member'sconnection to a topic.

Some example connection factors include, but are not limited to, ademonstrated expertise in the topic, communications with one or moremembers specifically regarding the topic, how recent any communicationsregarding the topic have taken place (e.g., recency), an amount ofexperience or training that a member has in a particular topic,participation or inclusion in a network, committee, or group thatrelates to the topic, how frequently that a member interacts regardingthe particular topic, etc.

For example, ML engine 102 may determine expertise in flying cars basedon the member leading meetings for flying cars, being a keynote speakerat a flying car convention, authoring a white paper describingadvancements in flying car technologies, receiving grant(s) for flyingcar research, teaching classes on flying cars, receiving compensationfor attending events about flying cars, etc.

In another example, ML engine 102 may determine an amount of experienceor training in magnetrons based on a member having attended educationalclasses devoted to magnetron technology and how many classes ortrainings were attended, receiving awards, accolades, and citations formagnetron work product, receiving referrals by other members describingthe member's experience in magnetrons, spending a certain amount of timeon a committee or project directed to magnetrons, etc.

Each connection factor 106 may be assigned a connection factor weight110 by ML engine 102 according to a ML model 104 for determiningweights. A connection factor weight 110 allows for some connectionfactors 106 that are more indicative of a connection to a topic to beweighted more heavily in a calculation of an overall connection score112 between the member and the topic. For example, if the member writesa social media post mentioning how cool a flying car would be, theweight assigned to a connection factor for topic-related writings may beless than if the member writes a technical paper describing flying cars.

In one embodiment, ML engine 102 calculates an overall connection score112 based on an accumulation of each individual connection scores forthe various connection factors. In a further embodiment, ML engine 102determines a connection factor weight for each connection factor,according to a ML model 104 for determining weights, to calculate theconnection score, and sums together each weighted connection score todetermine the overall connection score 112. ML engine 102 may store someor all of this information in data repository 134.

Once a connection 132 has been suggested, additional interactions 130 byeach member included in the suggested connection 132 may be analyzed todetermine the effectiveness of the suggested connection. Based on theseadditional interactions 130, ML engine 102 may determine an outcomescore 114 to rate how effective the suggested connection is to tune theML model 104 for determining weights and provide better connectionsuggestions 132 in the future. An outcome score 114 may be calculatedsimilar to an overall connection score, but may rely on additionalinteractions 130 only when determining connection scores 108 for eachconnection factor 106.

In one example, a member (Sarah Smith) may be an employee of anorganization (Cutting Edge Technologies). Sarah Smith is assigned to a“Flight” group within Cutting Edge Technologies. In Sarah Smith'sprofile, “Flight” is indicated as her group assignment, with PatSullivan indicated as her supervisor, and Sam Patel indicated as afellow teammate in the “Flight” group. Also, the profile indicates thather email address is Sarah@CuttingEdge.biz, social media identifier is@CETSarah, and telephone number as 850-555-1234.

Based on this profile, ML engine 102 may determine that interactionscorresponding to Sarah Smith should include: (1) all emailcorrespondence directed to and received from Sarah@CuttingEdge.biz, (2)all social media posts, tags, likes, and interactions directed to andreceived from @CETSarah, and (3) all phone calls directed to andreceived from 850-555-1234. Moreover, ML engine 102 may determine basedon the profile that Sarah Smith is proficient in Flight-basedtechnologies, such as projects “Flying Car” and “Jet Pack” that arecurrently being developed at Cutting Edge Technologies.

In this example, assume that ML engine 102 observes interactionscorresponding to Sarah Smith that include the following topics: flyingcar, jet pack, levitation boots, Lake Tahoe, and magnetron. Continuingwith this example, ML engine 102 may disregard Lake Tahoe as a topicrelevant to Cutting Edge Technologies. In an example, Lake Tahoe may bedisregarded as a topic because it is designated or marked as a topic todisregard. In another example, Lake Tahoe may be disregarded as a topicbased on a determination that no projects/tasks are related to thislocation on the California/Nevada border, e.g., no facilities,installations, customers, or users of Cutting Edge Technologies arepresent in or around Lake Tahoe.

The other topics (flying car, jet pack, levitation boots, and magnetron)may be considered to be topics relevant to Cutting Edge Technologies. MLengine 102 will apply ML model 104 to analyze interactions 126 inobserved data 124 to determine which members 118 of Cutting EdgeTechnologies, including Sarah Smith, discuss or are otherwise related tothese topics 116, and whether one or more connections 132 should besuggested between any of the members and Sarah Smith, with the relatedtopic being indicated in the suggested connection 132 (e.g., flying car,jet pack, levitation boots, or magnetron).

In one or more embodiments, the system 100 may include more or fewercomponents than the components illustrated in FIG. 1 . The componentsillustrated in FIG. 1 may be local to or remote from each other. Thecomponents illustrated in FIG. 1 may be implemented in software and/orhardware. Each component may be distributed over multiple applicationsand/or machines. Multiple components may be combined into oneapplication and/or machine. Operations described with respect to onecomponent may instead be performed by another component.

In one or more embodiments, an interface may refer to hardware and/orsoftware configured to facilitate communications between a user and acomputing device. An interface renders user interface elements andreceives input via user interface elements. Examples of an interfaceinclude a graphical user interface (GUI), a command line interface(CLI), a haptic interface, and a voice command interface. Examples ofuser interface elements include checkboxes, radio buttons, dropdownlists, list boxes, buttons, toggles, text fields, date and timeselectors, command lines, sliders, pages, and forms.

In an embodiment, different components of an interface are specified indifferent languages. The behavior of user interface elements isspecified in a dynamic programming language, such as JavaScript. Thecontent of user interface elements may be specified in a markuplanguage, such as hypertext markup language (HTML) or XML User InterfaceLanguage (XUL). The layout of user interface elements is specified in astyle sheet language, such as Cascading Style Sheets (CSS).Alternatively, an interface may be specified in one or more otherlanguages, such as Java, C, or C++.

In one or more embodiments, data repository 134 may be any type ofstorage unit and/or device (e.g., a file system, database, collection oftables, or any other storage mechanism) for storing data. Further, datarepository 134 may include multiple different storage units and/ordevices. The multiple different storage units and/or devices may or maynot be of the same type or located at the same physical site. Further,data repository 134 may be implemented or may execute on the samecomputing system as ML engine 102. Alternatively or additionally, datarepository 134 may be implemented or executed on a computing systemseparate from ML engine 102. Data repository 134 may be communicativelycoupled to ML engine 102 via a direct connection or via a network.

Additional embodiments and/or examples relating to computer networkswhich may be used to receive and/or transmit information for system 100are described below in Section 6, titled “Computer Networks and CloudNetworks.”

In an embodiment, system 100 is implemented on one or more digitaldevices. The term “digital device” generally refers to any hardwaredevice that includes a processor. A digital device may refer to aphysical device executing an application or a virtual machine. Examplesof digital devices include a computer, a tablet, a laptop, a desktop, anetbook, a server, a web server, a network policy server, a proxyserver, a generic machine, a function-specific hardware device, ahardware router, a hardware switch, a hardware firewall, a hardwarefirewall, a hardware network address translator (NAT), a hardware loadbalancer, a mainframe, a television, a content receiver, a set-top box,a printer, a mobile handset, a smartphone, a personal digital assistant(“PDA”), a wireless receiver and/or transmitter, a base station, acommunication management device, a router, a switch, a controller, anaccess point, and/or a client device.

3. Training ML Models

3.1 ML Model for Identifying Interactions

FIG. 2A illustrates an example method 200 for training a ML model toidentify interactions between members of an organization, in accordancewith one or more embodiments. One or more operations illustrated in FIG.2A may be modified, rearranged, or omitted all together. Accordingly,the particular sequence of operations illustrated in FIG. 2A should notbe construed as limiting the scope of one or more embodiments.

Method 200 may be performed by any suitable component of system 100 inFIG. 1 , such as ML engine 102, or any other computing device. For theremainder of the descriptions of FIG. 2A, method 200 will be describedas being performed by a computing device.

In operation 202, the computing device provides a ML engine with a setof interactions. Each interaction is tagged with an interaction type(e.g., email, phone call, social media communication, direct message,etc.). Based on these tagged interactions, the ML engine produces a MLmodel that can recognize such interactions from observed data. Eachinteraction type that may be used by members of the organization areinput to the ML engine to train the ML model, in one embodiment. Inanother embodiment, the ML engine is trained on interaction types thatare most commonly used by members of the organization to discussrelevant topics to the organization, and based on these most commoninteraction types, the ML model may learn other less common interactiontypes.

In operation 204, the computing device provides the ML engine with aplurality of sets of topic-specific interactions. Each set oftopic-specific interactions is tagged with the particular topic that isdiscussed by interactions in the set. Moreover, each topic that the MLengine is trained on is relevant to the organization. These relevanttopics may be stored in a data repository. In a further approach, the MLengine may also be trained to recognize non-relevant topics so that itmay disregard interactions that include such non-relevant topics.

In an alternate approach, the ML engine may be trained on specificrelevant topics (e.g., provided in a list or database) instead of frominteractions. In either approach, the ML model is trained to recognizerelevant topics (and in some cases non-relevant topics) from observedinteractions.

In an example, the ML engine may be trained with topic metadata bothinternal to the organization and external to the organization toidentify relevant topics. For example, internal metadata may be gleanedfrom emails, direct messages, social media posts, meeting invitations,calendared events, documentation libraries, blogs, etc. Externalmetadata, for example, may include trends, popularity, movements,local/regional/global influences, sector and industry news, market dataand news, company reports, etc.

In operation 206, the computing device provides the ML engine with a setof interactions tagged individually with one or more members of theorganization that are involved in the interactions. In an alternateapproach, the ML engine may be trained on members of the organization(e.g., provided in a list or database) instead of from interactions. Ineither approach, the ML model is trained to recognize specific membersof the organization, position or title of the members, and importance ofinteractions for specific members from observed interactions.

In another embodiment, the computing device provides the ML engine withprofiles for each member. A profile may include information and detailsabout the member that may otherwise be unavailable to the ML engine fromregular interactions of each member for training purposes. Some exampleinformation includes mental state, ideology, personal beliefs, values,attitudes, behavior, strengths, weaknesses, capabilities, skills, othermembers in the member's network or certain degrees of separation, socialleadership, reputation, feedback, etc.

This information may be analyzed to determine if the member is aneffective leader, accomplishes assigned tasks, follows through onprojects, etc. Each of these traits may be used to weight how importanta member's involvement in a particular topic is in comparison with othermembers.

In operation 208, the computing device (e.g., ML engine) trains the MLmodel based on the various sets of interactions provided in operations202, 204, and 206, to recognize interaction types, topics relevant tothe organization, and members specific to the organization. The ML modelis able to recognize these elements by monitoring, tracking, and/orreceiving interactions of members of the organization (e.g., observedinteractions). The longer the ML model observes interactions, the moreit can refine its ability to predict connections between members thatwould be beneficial to sharing knowledge concerning relevant topics.

3.2 ML Model for Determining Weights

FIG. 2B illustrates an example method 210 for training a ML model todetermine weights to assign connection factors, in accordance with oneor more embodiments. One or more operations illustrated in FIG. 2B maybe modified, rearranged, or omitted all together. Accordingly, theparticular sequence of operations illustrated in FIG. 2B should not beconstrued as limiting the scope of one or more embodiments.

Method 210 may be performed by any suitable component of system 100 inFIG. 1 , such as ML engine 102, or any other computing device. For theremainder of the descriptions of FIG. 2B, method 210 will be describedas being performed by a computing device.

In operation 212, the computing device provides the ML engine with aplurality of different interaction types. Each interaction type istagged with information that aids in determining a weight to assign tothe different interaction types. Example information includes aparticular weight assignment for the interaction type, an importance orpriority of the interaction type, a binary indicator (0/1) of whetherthe interaction type should be considered to determine a connectionbetween a member and a topic, etc.

For example, if email communications are considered to be more relevantthan social media posts, then the email communication type is taggedwith a higher weight or indication of importance than the social mediapost type. In another example, in person meetings may be tagged with apriority of 1 (a highest priority rating) while attending a virtualmeeting on a topic is tagged with a priority of 9 (a much lower priorityrating).

In a further embodiment, the computing device may be trained ondifferent types of interactions in relation to how impactful aninteraction type is relative to other interaction types for predicting aconnection between a member and a topic. Based on this training, thecomputing device may generate and maintain weights for each differentinteraction type which adjust the effect that the interaction type hason an overall connection score.

For example, a publication about flying cars is read by 5000, a seminarabout flying cars is attended by 1000 people, 50 people have published apaper on flying cars, 10 people have held tutorials on flying cars, and5 people won awards for flying cars, the computing device can generateweight factors for each of these different interaction types, such thatwinning an award is weighted highest (e.g., 1.0), teaching a class isweighted next highest (e.g., 0.8), writing a paper is weighted nexthighest (e.g., 0.5), attending a seminar is weighted next highest (e.g.,0.2), and reading a publication is weighted lowest (e.g., 0.1).

In another example, each industry and/or organization may have astructure in place for how particular interaction types should bemeasured against one another, and the weights may be assigned based onthe industry or organization standard.

In operation 214, the computing device provides the ML engine with aplurality of topics. Each topic is tagged with information that aids indetermining a weight to assign to the different topics when identifiedin interactions between members of the organization and used todetermine whether the topic is relevant to the organization.

Example information that topics may be tagged with includes a particularweight assignment for each respective topic, an importance, relevancy,or priority of the topic, a binary indicator (0/1) of whether the topicis relevant to the organization (and monitored for connections withmembers) or not relevant (and disregarded), etc.

In operation 216, the computing device provides the ML engine with aplurality of members of the organization. Each member's identity istagged with information that aids in determining a weight to assign tothe different members when identified as a party to an interaction.These weights may be used to determine a connection of another memberwith a topic. Interactions of more important members may carry greaterweight when discussing a topic than interactions with less importantmembers.

Example information that members' identities may be tagged with includesa weight assignment for each respective member, an importance,seniority, or hierarchical standing of the member, a binary indicator(0/1) of whether the member's interactions should be considered forconnections to a topic, etc.

In operation 218, the computing device provides the ML engine with aplurality of time periods. Each time period is tagged with informationthat aids in determining a weight to assign to the different timeperiods as they relate to recency of interactions between members of theorganization. More recent interactions may be considered more relevantthan older interactions, and therefore may be assigned greater weightwhen determining a connection between a member and a topic.

Example information that time periods may be tagged with includes aweight assignment for each respective time period, a range of weightsthat may be assigned to each time period, a binary indicator (0/1) ofwhether the time period precludes an associated interaction from beingconsidered to determine a connection with a topic, etc.

In operation 220, the computing device provides the ML engine with aplurality of experience levels. Each experience level is tagged withinformation that aids in determining a weight to assign to the differentexperience levels. Each member of the organization may have a certainexperience level assigned for one or more topics that the member hasbeen associated with, which may be stored in the member's profile.

These weights may be used to determine a connection between anothermember and a topic. Interactions with a member having a greaterexperience level in a particular topic may be assigned greater weight ascompared to interactions with a member having less experience in theparticular topic.

Example information that different experience levels may be tagged withincludes a weight assignment for each respective experience level, arange of weights that may be assigned to each experience level, a binaryindicator (0/1) of whether the experience level precludes an associatedinteraction from being considered to determine a connection with a topic(e.g., too little experience in the topic), etc.

In operation 222, the computing device trains a ML model to generateweights for various different connection factors specific to theorganization. Example connection factors that are described in FIG. 2Binclude interaction type, topic(s) included in the interaction,member(s) involved in the interaction, recency of the interaction,experience level of the member involved in the interaction. However,more or less connection factors than those specifically described inFIG. 2B may be used in determining a connection between a member and atopic, and between

In one or more embodiments, a non-transitory computer readable mediummay store instructions, that when executed by a hardware processor,cause execution of one or more operations of method 210. According toone or more embodiments, a system may include the non-transitorycomputer readable medium and the hardware processor.

4. Proposing Connections Between Members of an Organization

FIG. 3 illustrates an example method for proposing connections betweenmembers of an organization using the ML model, in accordance with one ormore embodiments. One or more operations illustrated in FIG. 3 may bemodified, rearranged, or omitted all together. Accordingly, theparticular sequence of operations illustrated in FIG. 3 should not beconstrued as limiting the scope of one or more embodiments.

Method 300 may be performed by any suitable component of system 100 inFIG. 1 , such as ML engine 102, or any other computing device. For theremainder of the descriptions of FIG. 3 , method 300 will be describedas being performed by a computing device.

In operation 302, the computing device the computing device analyzes afirst profile, corresponding to a first member of an organization, todetect a particular topic associated with the first member. Anassociated topic is any topic that has been discussed, researched, ortaught by the first member. The organization may generate profiles foreach member of the organization in order to store information useful inidentifying the members and tracking accomplishments, tasks, teams,etc., to which the member has been involved while with the organization.

In one or more embodiments, the first profile may include informationand details about the first member and the member's involvement with theorganization. Some example profile information includes, but is notlimited to: name, address, contact details (e.g., phone number, emailaddress, social media identifiers or accounts, etc.), organizationalrole (e.g., position, title, or category within the leadership structureof the organization, etc.), a length of time in each position held atthe organization, project/task(s) information (e.g., past project/taskassignments, current project/task assignments, success/failure ofcompleting past projects/tasks, etc.), accolades, awards,recommendations from other members or people outside of theorganization, demerits from supervisors or other members, skills, andinclusion in topic-specific committees or groups.

In one embodiment, a member profile may indicate a desired or mostfrequently used communication type or channel (e.g., email, phone,direct messaging, etc.). This allows the computing device to determinewhich interactions are most likely to reveal topics that the member isactively involved in with the organization.

For example, the first profile may indicate the first member's name,identify that the first member is part of a group working on a flyingcar, and include the first member's email address and social mediaidentifier for direct messaging. Based on this profile information, thecomputing device may determine that “flying car” is a topic correlatedto the first member.

In operation 304, the computing device detects a plurality ofinteractions, of a second member of the organization, associated withthe particular topic. Any type of interactions may be detected and usedin method 300. Some example interactions include, but are not limitedto, projects, emails, meetings, networking events, telephoneconversations, smart speaker inquiries, direct messaging, social mediaposts and reactions, public speaking on a topic, trainings and/orsessions on a topic, etc. The particular topic may be detected byapplication of rules stored in an ML model trained to identifyinteraction types, members, and topics relevant to the organization. Forexample, a rue may perform a word search through all interactions tofind each instance of the words “flying car” to determine whichinteractions are related to the topic “flying car.”

If no further interactions associated with the particular topic aredetected, method 300 returns to operation 302 to determine a differenttopic that the first member is associated with to continue with themethod.

In one or more embodiments, the interactions may be detected fromcommunication channels provided by, related to, and/or managed by theorganization, such as an email server, local area network (LAN), virtualprivate network (VPN), organization-provided computing device (laptop,smartphone, tablet, etc.), internal direct messaging application, etc.

In operation 306, the computing device evaluates the plurality ofinteractions to generate a plurality of scores correspondingrespectively to a plurality of connection factors for connecting thesecond member to the particular topic. This evaluation may compriseapplication of rules configured to provide a quantitative measure tocompare how involved the second member is with the particular topic. Thescores may be generated by application of rules stored in an ML modeltrained to identify and rate connection factors. In one example, a rulemay determine if a connection factor has been satisfied or applies to acertain topic, and calculates 0 for a connection factor which does notapply and 1 for a connection factor which is satisfied by theinteraction of the member. According to another example, a rule maydetermine a degree that a member's interaction satisfies a connectionfactor (e.g., a score of 10 for an authored paper directly about aflying car, a score of 5 for a series of emails that are exchanged witha supervisor about the flying car, and a score of 1 for a single directmessage about flying cars with a co-worker).

In an approach, a score for a particular connection factor may becalculated on a binary basis, e.g., does the interaction satisfy aconnection factor or not (0/1). The particular connection factor maythen be modified by a weight and added to all other weighted connectionfactor scores in calculating the overall connection score.

In one or more embodiments, the connection factors describe parameters,aspects, or characteristics that indicate a connection between thesecond member of the organization and the particular topic.

Some example connection factors include, but are not limited to, ademonstrated expertise in the topic, communications with one or moremembers specifically regarding the topic, how recent any communicationsregarding the topic have taken place (e.g., recency), an amount ofexperience or training that a member has in a particular topic,participation or inclusion in a network, committee, or group thatrelates to the topic, etc.

In one embodiment, a connection score for a particular connection factormay be a binary score (e.g., 0 or 1), indicating existence or lack of aparticular connection factor. For example, if a connection factor ratesparticipation in a topic-related group and the second member is part ofa group working on the particular topic, then the connection score forthis connection factor may be 1. If the second member is not part of thegroup working on the particular topic, the connection score for thisconnection factor may be 0.

In another embodiment, a connection score for a particular connectionfactor may be a range of scores (e.g., 0 to 1, 0 to 100, etc.),indicating existence or lack of a particular connection factor alongwith how extensively the second member fulfills the particularconnection factor. For example, if a connection factor rates whether thesecond member works on the particular topic, and the second member hasworked on the particular topic for 6 years (with ten years being athreshold for expertise on the particular topic), then the connectionscore for this connection factor may be 0.6 on a 0-1 scale. If thesecond member has not worked on the particular topic for any length oftime, the connection score for this connection factor may be 0 (for anyscale that includes 0 as the minimum score).

In operation 308, the computing device generates an overall connectionscore for rating a connection between the second member and theparticular topic. The overall connection score is based on the pluralityof scores corresponding respectively to the plurality of connectionfactors. For example, the plurality of scores may be added together todetermine the overall connection score, with either a larger or smalleroverall connection score (depending on whether individual connectionscores are larger or smaller when the associated connection factor ispresent for the second member) being indicative of a connection betweenthe second member and the particular topic.

In a further approach, each connection factor may be assigned aconnection factor weight by the computing device (e.g., ML engine)according to a trained ML model. A connection factor weight allows forsome or all of the connection factors to be weighted in the overallconnection score calculation, e.g., each connection score is multipliedby an assigned connection factor weight, then summed to calculate theoverall connection score. A default weight of 1 may be assigned to eachconnection factor, and this value may be adjusted over time, as thecomputing device learns which connection factors are most indicative ofa connection with the topic (and thus assigned an increased weightcloser to 1), and which are less indicative of a connection (and thusassigned a reduced weight closer to 0).

For example, if the connection factor measures the second member'swritings about the particular topic, and the second member writes asocial media post mentioning a flying car, the connection factor forthis interaction may be weighted to effect the overall connection scoreless than if the second member writes a paper describing flying cars.

In another example, if attending classes related to the particular topicis a connection factor, and over time the computing device recognizesthat there is little or no correlation between classes that members haveattended and connections with topics of those classes, the weight forthis connection factor may be reduced (closer to 0) when calculating theoverall connection score.

In this further approach, the overall connection score may be based on:(a) a weight associated with each connection factor of the plurality ofconnection factors, and (b) the plurality of scores correspondingrespectively to the plurality of connection factors.

According to an embodiment, the ML model may provide, generate, and/orassign different connection factor weights for different types ofconnections. As an example, interactions, such as presentations and/ortutorials, may be weighted higher than other interactions for finding anexpert for serving as an advisor for a new project. Interactions, suchas projects and/or coding, may be weighted higher than otherinteractions for finding a co-worker and/or engineer to add as a peer toa new project.

In operation 310, the computing device determines whether the overallconnection score meets a threshold value. The threshold value may beuser set or automatically generated based on past or historicalperformance of other threshold settings.

According to one embodiment, the overall connection score may benormalized to a predetermined scale (e.g., −1 to +1, 0-1, 0-10, 0-100,etc.). In this way, a threshold may be set that falls within the rangeto filter out overall connection scores which do not indicate aconnection between the second member and the first member.

In operation 312, the computing device transmits a communication togenerate a connection between the first member and the second member forcollaboration about the particular topic. This communication isgenerated and transmitted responsive to the overall connection scoremeeting the threshold value.

If the overall connection score does not meet the threshold value, e.g.,it is less than the threshold value when the threshold value indicates avalue to be equaled or exceeded by the overall connection score, method300 returns to operation 304 to search for interactions from anothermember of the organization associated with the particular topic, havingdetermined that the second member is not connected to the particulartopic. When all interactions have been analyzed, method 300 may move onto a second topic to determine if possible connections exist betweenother members and the second topic for connecting one or more othermembers to the first member for the second topic.

In one embodiment, the communication may include a user interface (UI)element that is selectable by the receiving member to indicate that amember would like to proceed with the connection to the other member(s).The computing device may detect when such a UI element is selected inorder to formally establish the connection with a message between themembers introducing one another, and proposing a meeting time populatedon each member's calendar when they are free to meet.

The communication may, in one approach, nominate a leader for theconnection based on seniority of the members connected together,expertise on the topic, or some other criteria learned by the computingdevice as being effective at establishing and nurturing theseconnections. The leader may be determined based on semantic parsing tomeasure Eisenhower's Urgent/Important Principle, then base the decisionof who the leader should be based on: availability of the members,responsibility and accountability of the members, roles of the memberswithin the organization, stimulating cognitive diversity (reducinggroupthink and increasing demographic, personality, andcharacteristic-based diversity within the connected members).

The communication may also invite other established groups which arealready collaborating on the particular topic to join into a unifiedmeeting of all selected members in an embodiment.

The computing device may determine what type of communication should beused to transmit the communication (e.g., email, phone call, directmessage, etc.). This determination may be based on what type ofcommunication has been positively received historically. For example, acertain member may not respond to email effectively. In this example,the computing device would not transmit the communication using an emailchannel, and instead would utilize direct messaging, a phone call, etc.

The communication, in one or more embodiments, may automatically suggestmeeting time(s), initial agenda items, meeting objectives, and meetingtake-aways. Other typical meeting parameters may also be automaticallyselected, such as meeting duration, meeting location, meeting starttime, etc., based on evaluation of members' calendars and roles withinthe organization.

According to one approach, a virtual meeting room may be establishedwith multiple interfaces for each member determined to be associatedwith a particular topic. Collateral information relevant to the topicmay be provided within the virtual meeting room, such as hyperlinks,documents, reference materials, etc. The virtual meeting room, in anapproach, may include an agenda with a timer for each subject in theagenda to maintain a cadence in moving the meeting along. The virtualmeeting room may produce a transcription of the meeting notes in whicheach participant has the ability to edit the meeting notes as desiredfor completeness and accuracy. The ML model may measure effectiveness ofthe proposed connection based on this initial meeting once the meetingis complete. The ML model may also provide additional services for thevirtual meeting, such as produce a task list and predicted time toresolve the various tasks, assign members to perform individual tasks,list critical paths to accomplish tasks, provide further meeting(s)outlook, schedule a follow-up or regular meeting, etc.

Once the computing device transmits a communication to generate aconnection between the first member and the second member, additionalinteractions by one or more of the members who received thecommunication may be analyzed to determine the effectiveness of theconnection. These interactions may take place during collaboration aboutthe particular topic or for other reasons unrelated to the particulartopic. The additional interactions may be analyzed by the computingdevice (e.g., the ML engine), using the ML model, to determine whetherthe connection was successful in matching together members who share aninterest in the particular topic.

In one approach, based on these additional interactions, the computingdevice may determine an outcome score to rate effectiveness of theconnection between the members. The outcome score may be used to tunethe ML model and provide better connections in the future. The outcomescore may be calculated similar to an overall connection score, but mayrely on the additional interactions when determining connection scoresfor each connection factor.

Once the outcome score is computed for the additional interactions, thecomputing device updates one or more of the weights of one or moreconnection factors based on the outcome score. In this way, thecomputing device generates an updated set of weights for the connectionfactors that will be used for analyzing whether to transmit eachsubsequent connection.

According to one embodiment, the outcome score may be based on abusiness value of the connection between the first member and the secondmember. In one or more embodiments, the business value may be determinedbased on several business value factors. For example, one business valuefactor may be the number of business functions (e.g., meetings,documentation webpages, presentations, trainings, etc.) that are heldregarding a topic. Business functions are indicative of the topic'sbusiness value. The more business functions devoted to a topic, thegreater the topic's business value relative to other topics.

In another example, linguistic clustering may be used to identifytopics, with validity and business value of the topic being determinedlater. In one example, a topic may be validated as having high businessvalue through external sources, e.g., Internet-based documentation,articles in journals, news stories about a topic, etc.

In an embodiment, business value of the connection may be determinedbased on the position or role of the first and second members in theorganization in an approach. For example, connections that includelow-level members may not be rated with as high of a business value asconnections that include one or more high-level members (e.g., seniorpersons, experts, CEO, presidents, vice presidents, etc.). In anotherapproach, business value may be determined based on how valuable theparticular topic is to the organization, thereby resulting in anyconnection related to the particular topic being of high business value.

In one or more embodiments, the computing device may determine that thebusiness value meets or exceeds a threshold value. The business valuemay be normalized to a scale, such that the threshold may be set toensure a certain amount of connections have a business value that meetsthe threshold value. The business value may be represented as a numberthat falls upon that scale. In an approach, the communication togenerate the connection is transmitted responsive to determining thatthe business value meets the second threshold value. In other words, thecommunication is not transmitted, in this approach, when the businessvalue does not meet the second threshold value.

In one approach, the computing device applies rules to the additionalinteraction to make one or more determinations. Some exampledeterminations that the rule may make include, but are not limited to,determining whether the first member transmitted a message to the secondmember to begin collaboration on the particular topic, determiningwhether the second member replied to the message, determining whetherthe first member and the second member held an in-person meetingresponsive to the message or the communication, determining a length ofthe in-person meeting (if applicable), determining a number andfrequency of interactions associated with the particular topic betweenthe first member and the second member subsequent to transmitting themessage or the communication, and determining a length of eachsubsequent interaction associated with the particular topic. Each ofthese determinations, and others not specifically described herein, areindicative of the connection being successful in some way, eitherbecause the members are conducting ongoing communications about theparticular topic, have set up meetings to discuss the particular topic,spend time together because of the particular topic, etc.

In one or more embodiments, method 300 may include identifying a secondset of interactions, of a third member of the organization, with each ofthe interactions in the set being associated with the particular topic.The computing device applies rules to the second set of interactions togenerate a second set of connection scores corresponding respectively tothe set of connection factors. The connection scores are configured toaid in determining whether to connect the third member to the particulartopic. The rules may behave similar to those described for previousinteractions, such as performing keyword searches for a topic, examininga degree of connection between a member and a topic, etc. The computingdevice generates a second overall connection score for rating aconnection between the third member and the particular topic. The secondoverall connection score is based, at least, on the set of weights (orthe updated set of weights, if applicable) for adjusting the set ofconnection factors.

In some embodiments, the computing device may evaluate one or morecombinations of collaborators for connecting to the first member inanticipation of collaboration on the particular topic. Each of thepossible combinations of collaborators may be evaluated by the computingdevice to predict an outcome score for each combination. The outcomescore may be calculated as described previously, and will predictwhether a particular combination will be successful in furtheringdiscussions regarding the particular topic between the differentcombinations of collaborators. Once an outcome score is computed foreach combination, a particular combination of collaborators is selected,based on the predicted outcome score for the particular combination ofcollaborators. In these embodiments, the communication is transmitted toeach collaborator in the particular combination of collaborators toinitiate collaboration.

According to an embodiment, the computing device may identify a need forthe second member to receive expert help on the particular topic. Thisdetermination may be based on words or phrases included in interactionsof the second member, such as “help,” “expert,” “aid,” “teach,” etc., inrelation to the particular topic. In this embodiment, the communicationto generate the connection is transmitted responsive to identifying theneed for the second member to receive expert help on the particulartopic. In one approach, the first member may be an expert on theparticular topic, and this status is what dictates connection of thefirst member with the second member.

In an embodiment, an escalation process may be included in method 300.In this process, should the communication be ignored or unresponded toby one or more members selected to receive the communication to connectmembers, the computing device may send out a reminder or alert regardingthe proposed connection. In a further approach, this follow-up may bebased on the importance or business value of the particular topic, andis not sent for minor or less important connections. Moreover, thereminder or alert may be sent to a most senior member in the connection.

In another embodiment, the communication may allow for one or morerecipient members to manually add other members to connect regarding theparticular topic. In this way, if a member knows of another memberrelated to the particular topic, but this member has not been detectedby the computing device, the connection may be expanded to include thenewly-identified member manually. After this addition, all furthercorrespondence will be forwarded to all members, including thenewly-identified member.

In one or more embodiments, a non-transitory computer readable mediummay store instructions, that when executed by a hardware processor,cause execution of one or more operations of method 300. According toone or more embodiments, a system may include the non-transitorycomputer readable medium and the hardware processor.

5. Example Embodiments

Detailed examples are described below for purposes of clarity.Components and/or operations described below should be understood as onespecific example which may not be applicable to certain embodiments.Accordingly, components and/or operations described below should not beconstrued as limiting the scope of any of the claims.

5.1 Tables Showing Members Correlated with Topics

FIGS. 4A-4B are example tables showing correlations between members andtopics, in accordance with one or more embodiments. A ML engine, or someother suitable component of a computing device, may learn differentmembers of an organization and topics which are related to each member.These correlations may be stored in a data repository, with exampletables being provided in FIGS. 4A-4B for Cutting Edge Technologies,discussed in an example previously.

FIG. 4A shows an example table that lists each member of Cutting EdgeTechnologies that the ML engine learned in correlation with topics thatthe ML engine learned through interactions of the members, memberprofiles, etc.

In this example table, Sarah Smith is correlated with the followingtopics: flying car, jet pack, levitation boots, Lake Tahoe, andmagnetron. Darnell Reynolds is correlated with rocket engine, LakeTahoe, flying car, and perpetual motion. Teresa Ortiz is correlated withmagnetron, rocket engine, daycare, and efficient desalination. Sam Patelis correlated with levitation boots, flying car, and efficientdesalination. Pat Sullivan is correlated with magnetron and Lake Tahoe.

Lake Tahoe may be disregarded as a topic relevant to Cutting EdgeTechnologies, in one example, based on a determination that noprojects/tasks are related to this location, e.g., no facilities,installations, customers, or users of Cutting Edge Technologies arepresent in or around Lake Tahoe. Lake Tahoe may be a topic for SarahSmith, Darnell Reynolds, and Pat Sullivan because it was the locationeach of these members planned a vacation for the winter. However,because a vacation is not business-related, it may be disregarded by theML engine for forging connections between the members.

In another example, daycare may be disregarded as a topic relevant toCutting Edge Technologies based on a determination that no current orpast projects, products, or tasks have a business relationship with adaycare. Instead, this topic may have been learned due to Teresa Ortiz'multiple calls and emails with her child's daycare to deal with herchild being sick, in an example. Therefore, this topic may bedisregarded for forming connections between Teresa and other members ofCutting Edge Technologies.

FIG. 4B shows the learned topics correlated to each member associatedwith the topic. This layout is useful for determining which members arecorrelated with each topic. Using this information, the ML engine maypropose connections between members who have common interest in a topic.For example, a suggested connection message may be delivered to SamPatel, Darnell Reynolds, and Sarah Smith indicating that each member maybe able to provide valuable information to one another regarding flyingcars. In another example, Teresa Ortiz, Sarah Smith, and Pat Sullivanmay be sent a message proposing a connection between each member todiscuss a magnetron.

Once these connections are proposed and/or attempted, by sending amessage to each member that includes details about why the members maybenefit from connecting together for a particular topic, additionalinteractions between the members may be detected. From these additionalinteractions, it may be possible to determine if the connection wassuccessful and/or merited, or if the connection was not helpful to oneor more of the members to whom the connection was proposed. Theseadditional interactions may be analyzed by the ML engine to determinepositive and negative reactions to the connection.

Some examples of positive reactions include a determination that ongoingand/or future interactions will take place to discuss the particulartopic, a determination that members have been added to a joint groupdirected to the particular topic, a determination that a memberresponded to past interactions with encouraging words or actions (e.g.,“The meeting was very helpful,” “Can we meet again to discuss [theparticular topic],” “Let's write a paper together for [the particulartopic]”), etc.

Some examples of negative reactions include a determination that nofurther interactions will take place to discuss the particular topic, adetermination that a member has been removed from a joint group directedto the particular topic, a determination that a member responded to pastinteractions with encouraging words or actions (e.g., “The meeting wasvery helpful,” “Can we meet again to discuss [the particular topic],”“Let's write a paper together for [the particular topic]”), etc.

Other forms of data retention than those shown in FIGS. 4A-4B may beused to store information collected from interactions and used by the MLengine and the ML model for proposed connections between members of theorganization based on shared interest and/or expertise in a topic, inone or more embodiments. Moreover, further correlations may be learnedand/or derived from the information collected from interactions betweenthe members of the organization, in one or more embodiments.

5.2 Tables Showing Example Connection Factor Weights

FIGS. 5A-5C are example tables showing connection factor weights forexample connection factors. In the descriptions of FIGS. 5A-5C, it isassumed that the formula to calculate the overall connection score is:w ₁CF₁ +w ₂CF₂ + . . . w _(n)CF_(n)=OCS,

where CF_(i) is the ith connection factor, w_(i) is a connection factorweight for the ith connection factor, a total of n connection factorsare included in the calculation, and OCS is the overall connectionscore. Other calculations may be used to determine the overallconnection factor in one or more embodiments, and connection factors aredefaulted to 0 when no evidence of the connection factor is evident fromthe interactions.

FIG. 5A is a table showing example connection factor weights fordifferent types of interactions. This table lists example interactiontypes and a connection factor weight assigned to each interaction type.This information may be used in calculating the overall connection scoredescribing how connected a member is to a particular topic.

For example, one of the connection factors used to calculate the overallconnection score may describe a type of interactions regarding theparticular topic. The more types of interactions are detected, thegreater this connection factor will influence the overall connectionscore in one approach.

In this example, if the member has only communicated via email todiscuss the particular topic with another member, the connection factorweight is 0.2. The connection factor weight 0.2 may then be multipliedby the connection score for this interaction type indicating if theinteraction related to the particular topic, typically 1 or 0. Likewise,if the member has held a one-to-one in-person meeting to discuss theparticular topic, the connection factor weight is 0.6. Similarly, if themember is the sole author of a topic-specific paper on the particulartopic, the connection factor weight is 1.0, the highest possible weightindicating a direct correlation between the member writing the paper anda connection to the particular topic. Conversely, a social media postmentioning the particular topic is not likely to indicate a strongcorrelation for the member to be connected to the particular topic(e.g., “I wish I had a flying car!”). Therefore, a social media postonly has a connection factor weight of 0.1, resulting in the socialmedia post providing a weak correlation for the member's connection tothe particular topic.

The individual connection factor weights may be averaged together for aset of interaction types in one embodiment. In more embodiments, a meanweight may be selected, a median weight may be selected, and/or ahighest score may be selected to represent the member's connection tothe particular topic.

In the example used for FIG. 5A, connection factor weights are used todescribe the relative likelihood that a certain type of interactioncorrelates to a connection between the member and the particular topic.More, less, and/or different interaction types may be considered in sucha scheme, along with different weights associated with each interactiontype, in various approaches.

FIG. 5B is a table showing example connection factor weights fordifferent ranges of relevancy of interactions. This table lists exampleranges of relevancy and a connection factor weight assigned to eachrelevancy range. In other words, the weights in this table are used toenhance the effect that more recent interactions have on the overallconnection score. Conversely, the weights in this table are also used todecrease the effect that less recent interactions have on the overallconnection score. This information may be used in calculating theoverall connection score describing how connected a member is to aparticular topic.

In this example, one of the connection factors used to calculate theoverall connection score describes how recent an interaction regardingthe particular topic is, regardless of what type of interaction is beingconsidered. If the member has an interaction regarding the particulartopic in the last day, the connection factor weight for this interactionwill be 1.0. If the member has interacted to discuss the particulartopic more than a week ago, but less than a month ago, the connectionfactor weight will equal 0.6. Likewise, if the member last interacted onthe particular topic more than a year ago, the connection factor scorewill equal 0.2. These example connection factor weights indicate adecaying relationship between length of time for the interaction and howstrong the correlation is to establishing a connection between themember the particular topic.

In this example, connection factor weights are used to describe therelative likelihood that an age of the interaction indicates aconnection between the member and the particular topic. More, less,and/or different relevancy ranges may be considered in such a scheme,along with different weights associated with each relevancy range, invarious approaches.

FIG. 5C is a table showing example connection factor weights fordifferent connection factors. This table lists example connectionfactors and a connection factor weight assigned to each connectionfactor. In other words, the weights in this table are used to enhancethe effect that certain connection factors have on the overallconnection score. Conversely, the weights in this table are also used todecrease the effect that other connection factors have on the overallconnection score.

In this example, the connection factors used to calculate the overallconnection score include expertise, relevancy, experience, groupparticipation, and frequency of interactions. A member who hasdemonstrated expertise in a particular topic is most likely to beconnected to the particular topic, and therefore the connection factorwill be weighted fully (e.g., as 1.0). The relevancy of interactionsregarding the particular topic also demonstrates a strong correlationfor the member being connected to the particular topic, and therefore inthis example has a weight of 0.8. Having received training or havingexperience in a particular topic does not present as strong of acorrelation for the member being connected to the particular topic, andtherefore in this example has a weight of 0.4. The remaining connectionfactors, participation in a topic-specific group and how frequently themember has interactions about the particular topic also provide weakercorrelations for the member being connected to the particular topic, andtherefore in this example have weights of 0.3 and 0.2, respectively.

In some examples, the ML engine may learn that frequency is a greaterindicator of a connection between the member and the particular topic.In one example, the weight for the frequency connection factor may beincreased as a result of this training, e.g., from 0.2 to 0.6.Conversely, the ML engine may learn that relevancy is a weaker indicatorof a connection between the member and the particular topic. In anexample, the weight for the relevancy connection factor may be reducedas a result of this training, e.g., from 0.8 to 0.4.

In this example, connection factor weights are used to describe therelative likelihood that a certain connection factor indicates aconnection between the member and the particular topic. More, less,and/or different connection factors may be considered in such a scheme,along with different weights associated with each connection factor, invarious approaches.

6. Computer Networks and Cloud Networks

In one or more embodiments, a computer network provides connectivityamong a set of nodes. The nodes may be local to and/or remote from eachother. The nodes are connected by a set of links. Examples of linksinclude a coaxial cable, an unshielded twisted cable, a copper cable, anoptical fiber, and a virtual link.

A subset of nodes implements the computer network. Examples of suchnodes include a switch, a router, a firewall, and a NAT. Another subsetof nodes uses the computer network. Such nodes (also referred to as“hosts”) may execute a client process and/or a server process. A clientprocess makes a request for a computing service (such as, execution of aparticular application, and/or storage of a particular amount of data).A server process responds by executing the requested service and/orreturning corresponding data.

A computer network may be a physical network, including physical nodesconnected by physical links. A physical node is any digital device. Aphysical node may be a function-specific hardware device, such as ahardware switch, a hardware router, a hardware firewall, and a hardwareNAT. Additionally or alternatively, a physical node may be a genericmachine that is configured to execute various virtual machines and/orapplications performing respective functions. A physical link is aphysical medium connecting two or more physical nodes. Examples of linksinclude a coaxial cable, an unshielded twisted cable, a copper cable,and an optical fiber.

A computer network may be an overlay network. An overlay network is alogical network implemented on top of another network (such as, aphysical network). Each node in an overlay network corresponds to arespective node in the underlying network. Hence, each node in anoverlay network is associated with both an overlay address (to addressto the overlay node) and an underlay address (to address the underlaynode that implements the overlay node). An overlay node may be a digitaldevice and/or a software process (such as, a virtual machine, anapplication instance, or a thread) A link that connects overlay nodes isimplemented as a tunnel through the underlying network. The overlaynodes at either end of the tunnel treat the underlying multi-hop pathbetween them as a single logical link. Tunneling is performed throughencapsulation and decapsulation.

In an embodiment, a client may be local to and/or remote from a computernetwork. The client may access the computer network over other computernetworks, such as a private network or the Internet. The client maycommunicate requests to the computer network using a communicationsprotocol, such as Hypertext Transfer Protocol (HTTP). The requests arecommunicated through an interface, such as a client interface (such as aweb browser), a program interface, or an application programminginterface (API).

In an embodiment, a computer network provides connectivity betweenclients and network resources. Network resources include hardware and/orsoftware configured to execute server processes. Examples of networkresources include a processor, a data storage, a virtual machine, acontainer, and/or a software application. Network resources are sharedamongst multiple clients. Clients request computing services from acomputer network independently of each other. Network resources aredynamically assigned to the requests and/or clients on an on-demandbasis. Network resources assigned to each request and/or client may bescaled up or down based on, for example, (a) the computing servicesrequested by a particular client, (b) the aggregated computing servicesrequested by a particular tenant, and/or (c) the aggregated computingservices requested of the computer network. Such a computer network maybe referred to as a “cloud network.”

In an embodiment, a service provider provides a cloud network to one ormore end users. Various service models may be implemented by the cloudnetwork, including but not limited to Software-as-a-Service (SaaS),Platform-as-a-Service (PaaS), and Infrastructure-as-a-Service (IaaS). InSaaS, a service provider provides end users the capability to use theservice provider's applications, which are executing on the networkresources. In PaaS, the service provider provides end users thecapability to deploy custom applications onto the network resources. Thecustom applications may be created using programming languages,libraries, services, and tools supported by the service provider. InIaaS, the service provider provides end users the capability toprovision processing, storage, networks, and other fundamental computingresources provided by the network resources. Any arbitrary applications,including an operating system, may be deployed on the network resources.

In an embodiment, various deployment models may be implemented by acomputer network, including but not limited to a private cloud, a publiccloud, and a hybrid cloud. In a private cloud, network resources areprovisioned for exclusive use by a particular group of one or moreentities (the term “entity” as used herein refers to a corporation,organization, person, or other entity). The network resources may belocal to and/or remote from the premises of the particular group ofentities. In a public cloud, cloud resources are provisioned formultiple entities that are independent from each other (also referred toas “tenants” or “customers”). The computer network and the networkresources thereof are accessed by clients corresponding to differenttenants. Such a computer network may be referred to as a “multi-tenantcomputer network.” Several tenants may use a same particular networkresource at different times and/or at the same time. The networkresources may be local to and/or remote from the premises of thetenants. In a hybrid cloud, a computer network comprises a private cloudand a public cloud. An interface between the private cloud and thepublic cloud allows for data and application portability. Data stored atthe private cloud and data stored at the public cloud may be exchangedthrough the interface. Applications implemented at the private cloud andapplications implemented at the public cloud may have dependencies oneach other. A call from an application at the private cloud to anapplication at the public cloud (and vice versa) may be executed throughthe interface.

In an embodiment, tenants of a multi-tenant computer network areindependent of each other. For example, a business or operation of onetenant may be separate from a business or operation of another tenant.Different tenants may demand different network requirements for thecomputer network. Examples of network requirements include processingspeed, amount of data storage, security requirements, performancerequirements, throughput requirements, latency requirements, resiliencyrequirements, Quality of Service (QoS) requirements, tenant isolation,and/or consistency. The same computer network may need to implementdifferent network requirements demanded by different tenants.

In one or more embodiments, in a multi-tenant computer network, tenantisolation is implemented to ensure that the applications and/or data ofdifferent tenants are not shared with each other. Various tenantisolation approaches may be used.

In an embodiment, each tenant is associated with a tenant ID. Eachnetwork resource of the multi-tenant computer network is tagged with atenant ID. A tenant is permitted access to a particular network resourceonly if the tenant and the particular network resources are associatedwith a same tenant ID.

In an embodiment, each tenant is associated with a tenant ID. Eachapplication, implemented by the computer network, is tagged with atenant ID. Additionally or alternatively, each data structure and/ordataset, stored by the computer network, is tagged with a tenant ID. Atenant is permitted access to a particular application, data structure,and/or dataset only if the tenant and the particular application, datastructure, and/or dataset are associated with a same tenant ID.

As an example, each database implemented by a multi-tenant computernetwork may be tagged with a tenant ID. Only a tenant associated withthe corresponding tenant ID may access data of a particular database. Asanother example, each entry in a database implemented by a multi-tenantcomputer network may be tagged with a tenant ID. Only a tenantassociated with the corresponding tenant ID may access data of aparticular entry. However, the database may be shared by multipletenants.

In an embodiment, a subscription list indicates which tenants haveauthorization to access which applications. For each application, a listof tenant IDs of tenants authorized to access the application is stored.A tenant is permitted access to a particular application only if thetenant ID of the tenant is included in the subscription listcorresponding to the particular application.

In an embodiment, network resources (such as digital devices, virtualmachines, application instances, and threads) corresponding to differenttenants are isolated to tenant-specific overlay networks maintained bythe multi-tenant computer network. As an example, packets from anysource device in a tenant overlay network may only be transmitted toother devices within the same tenant overlay network. Encapsulationtunnels are used to prohibit any transmissions from a source device on atenant overlay network to devices in other tenant overlay networks.Specifically, the packets, received from the source device, areencapsulated within an outer packet. The outer packet is transmittedfrom a first encapsulation tunnel endpoint (in communication with thesource device in the tenant overlay network) to a second encapsulationtunnel endpoint (in communication with the destination device in thetenant overlay network). The second encapsulation tunnel endpointdecapsulates the outer packet to obtain the original packet transmittedby the source device. The original packet is transmitted from the secondencapsulation tunnel endpoint to the destination device in the sameparticular overlay network.

7. Hardware Overview

According to one embodiment, the techniques described herein areimplemented by one or more special-purpose computing devices (i.e.,computing devices specially configured to perform certainfunctionality). The special-purpose computing devices may be hard-wiredto perform the techniques, or may include digital electronic devicessuch as one or more application-specific integrated circuits (ASICs),field programmable gate arrays (FPGAs), or network processing units(NPUs) that are persistently programmed to perform the techniques, ormay include one or more general purpose hardware processors programmedto perform the techniques pursuant to program instructions in firmware,memory, other storage, or a combination. Such special-purpose computingdevices may also combine custom hard-wired logic, ASICs, FPGAs, or NPUswith custom programming to accomplish the techniques. Thespecial-purpose computing devices may be desktop computer systems,portable computer systems, handheld devices, networking devices or anyother device that incorporates hard-wired and/or program logic toimplement the techniques.

For example, FIG. 6 is a block diagram that illustrates a computersystem 600 upon which an embodiment of the invention may be implemented.Computer system 600 includes a bus 602 or other communication mechanismfor communicating information, and a hardware processor 604 coupled withbus 602 for processing information. Hardware processor 604 may be, forexample, a general purpose microprocessor.

Computer system 600 also includes a main memory 606, such as a randomaccess memory (RAM) or other dynamic storage device, coupled to bus 602for storing information and instructions to be executed by processor604. Main memory 606 also may be used for storing temporary variables orother intermediate information during execution of instructions to beexecuted by processor 604. Such instructions, when stored innon-transitory storage media accessible to processor 604, rendercomputer system 600 into a special-purpose machine that is customized toperform the operations specified in the instructions.

Computer system 600 further includes a read only memory (ROM) 608 orother static storage device coupled to bus 602 for storing staticinformation and instructions for processor 604. A storage device 610,such as a magnetic disk or solid state disk, is provided and coupled tobus 602 for storing information and instructions.

Computer system 600 may be coupled via bus 602 to a display 612, such asa liquid crystal display (LCD), plasma display, electronic ink display,cathode ray tube (CRT) monitor, or any other kind of device fordisplaying information to a computer user. An input device 614,including alphanumeric and other keys, may be coupled to bus 602 forcommunicating information and command selections to processor 604.Alternatively or in addition, the computer system 600 may receive userinput via a cursor control 616, such as a mouse, a trackball, atrackpad, a touchscreen, or cursor direction keys for communicatingdirection information and command selections to processor 604 and forcontrolling cursor movement on display 612. This input device typicallyhas two degrees of freedom in two axes, a first axis (e.g., x) and asecond axis (e.g., y), that allows the device to specify positions in aplane. The display 612 may be configured to receive user input via oneor more pressure-sensitive sensors, multi-touch sensors, and/or gesturesensors. Alternatively or in addition, the computer system 600 mayreceive user input via a microphone, video camera, and/or some otherkind of user input device (not shown).

Computer system 600 may implement the techniques described herein usingcustomized hard-wired logic, one or more ASICs or FPGAs, firmware and/orprogram logic which in combination with the computer system causes orprograms computer system 600 to be a special-purpose machine. Accordingto one embodiment, the techniques herein are performed by computersystem 600 in response to processor 604 executing one or more sequencesof one or more instructions contained in main memory 606. Suchinstructions may be read into main memory 606 from another storagemedium, such as storage device 610. Execution of the sequences ofinstructions contained in main memory 606 causes processor 604 toperform the process steps described herein. In alternative embodiments,hard-wired circuitry may be used in place of or in combination withsoftware instructions.

The term “storage media” as used herein refers to any non-transitorymedia that store data and/or instructions that cause a machine tooperate in a specific fashion. Such storage media may comprisenon-volatile media and/or volatile media. Non-volatile media includes,for example, solid-state or magnetic disks, such as storage device 610.Volatile media includes dynamic memory, such as main memory 606. Commonforms of storage media include, for example, a floppy disk, a flexibledisk, hard disk, solid state drive, magnetic tape, or any other magneticdata storage medium, a CD-ROM, any other optical data storage medium,any physical medium with patterns of holes, a RAM, a programmableread-only memory (PROM), and erasable PROM (EPROM), a FLASH-EPROM,non-volatile random-access memory (NVRAM), any other memory chip orcartridge, content-addressable memory (CAM), and ternarycontent-addressable memory (TCAM).

Storage media is distinct from but may be used in conjunction withtransmission media. Transmission media participates in transferringinformation between storage media. For example, transmission mediaincludes coaxial cables, copper wire and fiber optics, including thewires that comprise bus 602. Transmission media can also take the formof acoustic or light waves, such as those generated during radio-waveand infra-red data communications.

Various forms of media may be involved in carrying one or more sequencesof one or more instructions to processor 604 for execution. For example,the instructions may initially be carried on a magnetic disk or solidstate drive of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over anetwork, via a network interface controller (NIC), such as an Ethernetcontroller or Wi-Fi controller. A NIC local to computer system 600 canreceive the data from the network and place the data on bus 602. Bus 602carries the data to main memory 606, from which processor 604 retrievesand executes the instructions. The instructions received by main memory606 may optionally be stored on storage device 610 either before orafter execution by processor 604.

Computer system 600 also includes a communication interface 618 coupledto bus 602. Communication interface 618 provides a two-way datacommunication coupling to a network link 620 that is connected to alocal network 622. For example, communication interface 618 may be anintegrated services digital network (ISDN) card, cable modem, satellitemodem, or a modem to provide a data communication connection to acorresponding type of telephone line. As another example, communicationinterface 618 may be a local area network (LAN) card to provide a datacommunication connection to a compatible LAN. Wireless links may also beimplemented. In any such implementation, communication interface 618sends and receives electrical, electromagnetic or optical signals thatcarry digital data streams representing various types of information.

Network link 620 typically provides data communication through one ormore networks to other data devices. For example, network link 620 mayprovide a connection through local network 622 to a host computer 624 orto data equipment operated by an Internet Service Provider (ISP) 626.ISP 626 in turn provides data communication services through the worldwide packet data communication network now commonly referred to as the“Internet” 628. Local network 622 and Internet 628 both use electrical,electromagnetic or optical signals that carry digital data streams. Thesignals through the various networks and the signals on network link 620and through communication interface 618, which carry the digital data toand from computer system 600, are example forms of transmission media.

Computer system 600 can send messages and receive data, includingprogram code, through the network(s), network link 620 and communicationinterface 618. In the Internet example, a server 630 might transmit arequested code for an application program through Internet 628, ISP 626,local network 622 and communication interface 618. The received code maybe executed by processor 604 as it is received, and/or stored in storagedevice 610, or other non-volatile storage for later execution.

8. Miscellaneous; Extensions

Embodiments are directed to a system with one or more devices thatinclude a hardware processor and that are configured to perform any ofthe operations described herein and/or recited in any of the claimsbelow.

In an embodiment, a non-transitory computer readable storage mediumcomprises instructions which, when executed by one or more hardwareprocessors, causes performance of any of the operations described hereinand/or recited in any of the claims.

Any combination of the features and functionalities described herein maybe used in accordance with one or more embodiments. In the foregoingspecification, embodiments have been described with reference tonumerous specific details that may vary from implementation toimplementation. The specification and drawings are, accordingly, to beregarded in an illustrative rather than a restrictive sense. The soleand exclusive indicator of the scope of the invention, and what isintended by the applicants to be the scope of the invention, is theliteral and equivalent scope of the set of claims that issue from thisapplication, in the specific form in which such claims issue, includingany subsequent correction.

What is claimed is:
 1. A non-transitory computer readable mediumcomprising instructions which, when executed by one or more hardwareprocessors, causes performance of operations comprising: analyzing afirst profile, corresponding to a first member of an organization, todetect a particular topic associated with the first member; detecting aplurality of interactions, of a second member of the organization,associated with the particular topic; applying a machine learning (ML)model to evaluate the plurality of interactions to generate a pluralityof scores corresponding respectively to a plurality of connectionfactors for connecting the second member to the particular topic;generating an overall connection score for rating a connection betweenthe second member and the particular topic, the overall connection scorebeing based on: (a) a weight associated with each connection factor ofthe plurality of connection factors, and (b) the plurality of scorescorresponding respectively to the plurality of connection factors;responsive to determining that the overall connection score meets athreshold value: transmitting a communication to generate a connectionbetween the first member and the second member for collaborationassociated with the particular topic; obtaining feedback regarding oneor more scores of the plurality of scores corresponding respectively tothe plurality of connection factors; and using unsupervised learning toupdate the machine learning model based on the feedback.
 2. Thenon-transitory computer readable medium as recited in claim 1, whereinthe operations comprise: applying rules to at least one additionalinteraction, subsequent to transmitting the communication, between thefirst member and the second member to determine an outcome score for theconnection between the first member and the second member; and updatingthe weight of one or more connection factors of the plurality ofconnection factors based on the outcome score to generate an updated setof weights for the plurality of connection factors.
 3. Thenon-transitory computer readable medium as recited in claim 2, whereinapplying rules to the at least one additional interaction makes one ormore determinations selected from a group comprising: determiningwhether the first member transmitted a message to the second member tobegin collaboration associated with the particular topic; determiningwhether the second member replied to the message; determining whetherthe first member and the second member held an in-person meetingresponsive to the message; determining a length of the in-personmeeting; determining a number and frequency of interactions, associatedwith the particular topic, between the first member and the secondmember subsequent to transmitting the message; and determining a lengthof each subsequent interaction associated with the particular topic. 4.The non-transitory computer readable medium as recited in claim 2,wherein the operations comprise: identifying a second plurality ofinteractions, of a third member of the organization, associated with theparticular topic; applying rules to the second plurality of interactionsto generate a second plurality of scores corresponding respectively tothe plurality of connection factors for connecting the third member tothe particular topic; and generating a second overall connection scorefor rating a connection between the third member and the particulartopic based at least on the updated set of weights for the plurality ofconnection factors.
 5. The non-transitory computer readable medium asrecited in claim 1, wherein the operations comprise, prior to applyingthe machine learning model: providing a machine learning engine with afirst set of interactions, each interaction in the first set ofinteractions being tagged with an interaction type; providing themachine learning engine with a plurality of second sets oftopic-specific interactions, each second set of topic-specificinteractions being tagged with a particular topic that is discussed byinteractions in the second set of topic-specific interactions; providingthe machine learning engine with a third set of interactions, eachinteraction in the third set of interactions being tagged with one ormore members of the organization; and generating, by the machinelearning engine, the machine learning model configured to recognize,from observed data: a) interaction types, b) topics, and c) members ofthe organization.
 6. The non-transitory computer readable medium asrecited in claim 1, wherein the operations comprise: evaluating abusiness value of the connection between the first member and the secondmember; and determining that the business value meets a second thresholdvalue, wherein transmitting the communication to generate the connectionis responsive to determining that the business value meets the secondthreshold value.
 7. The non-transitory computer readable medium asrecited in claim 1, wherein the operations comprise: evaluating aplurality of combinations of collaborators for connecting to the firstmember for collaboration on the particular topic to predict an outcomescore for each combination; and selecting a particular combination ofcollaborators based on the predicted outcome score for the particularcombination of collaborators, wherein the communication is transmittedto each collaborator in the particular combination of collaborators. 8.The non-transitory computer readable medium as recited in claim 1,wherein the operations comprise: identifying a need for the secondmember to receive expert help on the particular topic, whereintransmitting the communication to generate the connection is responsiveto identifying the need for the second member to receive expert help onthe particular topic, and wherein the first member is an expert on theparticular topic.
 9. A system, comprising: one or more hardwareprocessors; a non-transitory computer readable medium comprisinginstructions which, when executed by the one or more hardwareprocessors, causes performance of operations comprising: analyzing afirst profile, corresponding to a first member of an organization, todetect a particular topic associated with the first member; detecting aplurality of interactions, of a second member of the organization,associated with the particular topic; applying a machine learning modelto evaluate the plurality of interactions to generate a plurality ofscores corresponding respectively to a plurality of connection factorsfor connecting the second member to the particular topic; generating anoverall connection score for rating a connection between the secondmember and the particular topic, the overall connection score beingbased on: (a) a weight associated with each connection factor of theplurality of connection factors, and (b) the plurality of scorescorresponding respectively to the plurality of connection factors;responsive to determining that the overall connection score meets athreshold value: transmitting a communication to generate a connectionbetween the first member and the second member for collaborationassociated with the particular topic; obtaining feedback regarding oneor more scores of the plurality of scores corresponding respectively tothe plurality of connection factors; and using unsupervised learning toupdate the machine learning model based on the feedback.
 10. The systemas recited in claim 9, wherein the operations comprise: applying rulesto at least one additional interaction, subsequent to transmitting thecommunication, between the first member and the second member todetermine an outcome score for the connection between the first memberand the second member; and updating the weight of one or more connectionfactors of the plurality of connection factors based on the outcomescore to generate an updated set of weights for the plurality ofconnection factors.
 11. The system as recited in claim 10, whereinapplying rules to the at least one additional interaction makes one ormore determinations selected from a group comprising: determiningwhether the first member transmitted a message to the second member tobegin collaboration associated with the particular topic; determiningwhether the second member replied to the message; determining whetherthe first member and the second member held an in-person meetingresponsive to the message; determining a length of the in-personmeeting; determining a number and frequency of interactions, associatedwith the particular topic, between the first member and the secondmember subsequent to transmitting the message; and determining a lengthof each subsequent interaction associated with the particular topic. 12.The system as recited in claim 10, wherein the operations comprise:identifying a second plurality of interactions, of a third member of theorganization, associated with the particular topic; applying rules tothe second plurality of interactions to generate a second plurality ofscores corresponding respectively to the plurality of connection factorsfor connecting the third member to the particular topic; and generatinga second overall connection score for rating a connection between thethird member and the particular topic based at least on the updated setof weights for the plurality of connection factors.
 13. The system asrecited in claim 10, wherein the operations comprise, prior to applyingthe machine learning model: providing a machine learning engine with afirst set of interactions, each interaction in the first set ofinteractions being tagged with an interaction type; providing themachine learning engine with a plurality of second sets oftopic-specific interactions, each second set of topic-specificinteractions being tagged with a particular topic that is discussed byinteractions in the second set of topic-specific interactions; providingthe machine learning engine with a third set of interactions, eachinteraction in the third set of interactions being tagged with one ormore members of the organization; and generating, by the ML engine, theML model configured to recognize, from observed data: a) interactiontypes, b) topics, and c) members of the organization.
 14. The system asrecited in claim 9, wherein the operations comprise: evaluating abusiness value of the connection between the first member and the secondmember; and determining that the business value meets a second thresholdvalue, wherein transmitting the communication to generate the connectionis responsive to determining that the business value meets the secondthreshold value.
 15. The system as recited in claim 9, wherein theoperations comprise: evaluating a plurality of combinations ofcollaborators for connecting to the first member for collaboration onthe particular topic to predict an outcome score for each combination;and selecting a particular combination of collaborators based on thepredicted outcome score for the particular combination of collaborators,wherein the communication is transmitted to each collaborator in theparticular combination of collaborators.
 16. The system as recited inclaim 9, wherein the operations comprise: identifying a need for thesecond member to receive expert help on the particular topic, whereintransmitting the communication to generate the connection is responsiveto identifying the need for the second member to receive expert help onthe particular topic, and wherein the first member is an expert on theparticular topic.
 17. A method, comprising: analyzing a first profile,corresponding to a first member of an organization, to detect aparticular topic associated with the first member; detecting a pluralityof interactions, of a second member of the organization, associated withthe particular topic; applying a machine learning model to evaluate theplurality of interactions to generate a plurality of scorescorresponding respectively to a plurality of connection factors forconnecting the second member to the particular topic; generating anoverall connection score for rating a connection between the secondmember and the particular topic, the overall connection score beingbased on: (a) a weight associated with each connection factor of theplurality of connection factors, and (b) the plurality of scorescorresponding respectively to the plurality of connection factors;responsive to determining that the overall connection score meets athreshold value: transmitting a communication to generate a connectionbetween the first member and the second member for collaborationassociated with the particular topic; obtaining feedback regarding oneor more scores of the plurality of scores corresponding respectively tothe plurality of connection factors; and using unsupervised learning toupdate the machine learning model based on the feedback, wherein themethod is performed by a hardware device having at least one processor.18. The method as recited in claim 17, further comprising: applyingrules to at least one additional interaction, subsequent to transmittingthe communication, between the first member and the second member todetermine an outcome score for the connection between the first memberand the second member; and updating the weight of one or more connectionfactors of the plurality of connection factors based on the outcomescore to generate an updated set of weights for the plurality ofconnection factors.
 19. The method as recited in claim 17, furthercomprising: evaluating a business value of the connection between thefirst member and the second member; and determining that the businessvalue meets a second threshold value, wherein transmitting thecommunication to generate the connection is responsive to determiningthat the business value meets the second threshold value.
 20. The methodas recited in claim 17, further comprising: evaluating a plurality ofcombinations of collaborators for connecting to the first member forcollaboration on the particular topic to predict an outcome score foreach combination; and selecting a particular combination ofcollaborators based on the predicted outcome score for the particularcombination of collaborators, wherein the communication is transmittedto each collaborator in the particular combination of collaborators. 21.The non-transitory computer readable medium as recited in claim 1,wherein the operations comprise, prior to applying the machine learningmodel, training the machine learning model based on sets of historicaltraining data, each set of historical training data comprising a set ofone or more prior interactions with a particular topic and a connectionscore corresponding to a connection between (a) a user associated withthe one or more prior interactions, and (b) the particular topic. 22.The non-transitory computer readable medium as recited in claim 1,wherein the operations comprise: obtaining feedback regarding membersdetermined to be connected to one or more topics; identifying acorrelation between interaction type and positive feedback correspondingto different interaction types; and updating, by a second machinelearning model, one or more weights assigned to the differentinteraction types for computation of the overall connection score. 23.The non-transitory computer readable medium as recited in claim 22,wherein the feedback regarding the members indicates whether one or moreof the members determined to be connected to the one or more topics isknowledgeable on matters related to the one or more topics.